package com.cosmoplat.xikai.business.domain.dto.agv;


import lombok.Data;

/**
 * @ClassName AgvCallbackRequest
 * @Description 物流AGV请求取放货
 * @Author wdf
 * @Date 2025/9/2
 */
@Data
public class AgvCallbackRequest {
    /**
     * 请求编号，每个请求都要一个唯一编号，同一个请求重复提交使用同一编号
     */
    private String reqCode;

    /**
     * 请求时间戳，格式: "yyyy-MM-dd HH:mm:ss"
     */
    private String reqTime;

    /**
     * 地码 X 坐标(mm)：任务完成时有值
     */
    private Integer cooX;

    /**
     * 地码 Y 坐标(mm)：任务完成时有值
     */
    private Integer cooY;

    /**
     * 当前位置编号
     * 任务开始：该位置为任务起点
     * 走出储位：该位置为任务起点
     * 任务单取消：该位置为工作位编号
     * 任务结束：该位置为任务终点
     * 取放申请：取放料箱的点
     */
    private String currentPositionCode;

    /**
     * 自定义字段，不超过2000个字符
     */
    private Object data;

    /**
     * 地图编号
     */
    private String mapCode;

    /**
     * 地码编号：任务完成时有值
     */
    private String mapDataCode;

    /**
     * 仓位编号：叉车与CTU任务时有值
     */
    private String stgBinCode;

    /**
     * 方法名
     * apply: 申请进入
     * release：申请离开
     */
    private String method;

    /**
     * 货架编号：背货架时有值
     */
    private String podCode;

    /**
     * "180","0","90","-90" 分别对应地图的"左","右","上","下"：任务完成时有值
     */
    private String podDir;

    /**
     * 物料编号
     */
    private String materialLot;

    /**
     * AGV编号（同 agvCode）
     */
    private String robotCode;

    /**
     * 当前任务单号
     */
    private String taskCode;

    /**
     * 工作位，与RCS-2000端配置的位置名称一致。任务完成时有值，与生成任务单接口中的wbCode一致
     */
    private String wbCode;

    /**
     * 容器编号
     */
    private String ctnrCode;

    /**
     * 容器类型
     */
    private String ctnrType;

    /**
     * 巷道编号
     */
    private String roadWayCode;

    /**
     * 巷道内顺序号，巷道尾是0，到巷道头依次递增1
     */
    private String seq;

    /**
     * 设备编号，如梳齿式工作站、输送线等，一般使用于CTU场景。系统根据仓位定位到关联的设备编号
     */
    private String eqpCode;
}


